


class Person {
    // name;  // 此时的属性可以省略， 有构造函数时
    // age = 34;
    // static flag;
    constructor(name, age) {  // 构造函数也可以不传参， 构造函数不需要写返回值
        this.name = name;
        this.age = age;
    }
    sayName() {
        console.log(this.name);
    }
}
// 构造函数中的this指代创建出来的新对象
// 构造函数中不要返回值， 因为返回原始值不起任何作用，返回非原始值会覆盖新对象
// 在JS的类中，构造函数有且仅有一个

let person = new Person('张三',18); // new关键字会创建一个新对象， 并且会自动调用构造函数
console.log(person);

let person1 = new Person('李四',19);
console.log(person1);